#include "Riddle.h"
#include <iostream>

using namespace std;

//A fejtörő adatait beolvasó függvény.
void Riddle::Read(ifstream& f)
{
    int x;
    f >> x;
    if(!f.fail())
    {
        string tmp;
        getline(f, tmp);
        for(int i=1; i<=x; i++)
        {
            getline(f, tmp);
            tmp += '\n';
            text += tmp;
        }
    }

    f >> nexta;
    f >> nextb;
    f >> nextc;
    f >> answer;
    f >> answer_min;
    f >> answer_max;
    f >> xp_1;
    f >> xp_2;
    f >> xp_3;
    f >> savegame;
}

int Riddle::Procedure()
{
    //Ha a felhasználó a kilépést választotta a mentésnél.
    if(savegame)
    {
        if(Save() == 4)
        {
            return -1;
        }
    }

    cout << text;
    cout << "******************************************************************************" << endl;
    int tried;
    cin >> tried;
    cout << endl;

    //Ha elfogadható a válasz.
    if(tried >= answer_min && tried <= answer_max && tried != answer)
    {
        character->IncreaseXP(xp_3);
        character->SetQNumber(nextc);
        character->LevelUp();
        return nextc;
    }
    //Ha tökéletes a válasz.
    else if(tried == answer)
    {
        character->IncreaseXP(xp_1);
        character->SetQNumber(nexta);
        character->LevelUp();
        return nexta;
    }
    //Ha rossz a válasz.
    else
    {
        character->IncreaseXP(xp_2);
        character->SetQNumber(nextb);
        character->LevelUp();
        return nextb;
    }
}
